//https://api.dartlang.org/stable/2.2.0/dart-async/Future-class.html
main() {
//*******构造函数******* */

  //Future.delayed(Duration duration, [ FutureOr<T> computation() ])  --延迟设置
  print('abc');
  Duration drt = new Duration(seconds: 10); //设置一个10秒的延迟
  Future.delayed(drt, () {
    print('edf'); //延迟执行的程序
  });
  

//Future(FutureOr<T> computation())  --
  new Future(() {
    return 'abc';
//then<R>(FutureOr<R> onValue(T value), { Function onError }) → Future<R> --
  }).then((value) {
    return value.length;
  })
//参数value是上个函数的返回结果，上个函数可以没有返回结果，但是then里无论用不用都必须要有参数
      .then((m) {
    print(m);
//catchError(Function onError, { bool test(Object error) }) → Future<T>  --catchError只能捕获Future的异常不能捕获同步代码的异常
  }).catchError((e) {
    print(e);
  });

} //mian
